/*!
 * 自定义js函数
 * shuliangxing
 */
(function($) {
	/**自定义原型函数*/
	$.fn.extend({
		// 只能输入整数
		utilOnlyInteger : function(options) {
			this.each(function(index, item) {
				var obj = this;
				var $obj = $(this);

				// 绑定事件
				// 限制文本框只能输入整数,焦点停留在替换位置
				// 中文输入法状态下快速回车还是会出现字母,style="ime-mode:disabled;"禁用输入法不支持chrome
				$obj.on('keyup keydown blur change', function(event) {
					var reg = /^[\d]+$/g;
					if (!reg.test(obj.value)) {
						var txt = obj.value;
						txt.replace(/[^0-9]+/, function(char, index, val) {// 匹配第一次非数字字符
							obj.value = val.replace(/\D/g, "");// 将非数字字符替换成""
							var rtextRange = null;
							if (obj.setSelectionRange) {
								obj.setSelectionRange(index, index);
							} else {// 支持ie
								rtextRange = obj.createTextRange();
								rtextRange.moveStart('character', index);
								rtextRange.collapse(true);
								rtextRange.select();
							}
						});
					}
				});

				// 禁用输入法,不支持chrome
				$obj.css('ime-mode', 'disabled');
			});
		},
		
		// 回车执行按钮单击事件
		utilSubmit : function(options) {
			$(this).on('keydown', function(event) {
				if (event.keyCode == '13') {
					$(options).click();
				}
			});
		},
		
		//重置表单包括原有数据
		utilReset : function(){
			$(this).on("click",function(event){
				//#pageSize #currentPage为了排除分页区域元素
				$(':input','form')
				 .not(':button, :submit, :reset, :hidden, #pageSize, #currentPage')
				 .val('').removeAttr('checked') .removeAttr('selected');
				 
				//重置特殊样式下拉框 
				$(".selectul .selectfocus em").text("请选择");//重置显示文字
				$(".selectul").each(function(){
					//重置下拉框对应隐藏文本框的值 
					 $("input[name='"+this.id+"']:hidden").val("");
				});
				
				//重置jquery validate 验证信息
				$("label.error").remove();
			});
		},
		
		//鼠标移上移除显示关闭tips
		utilTips : function(){
			$(this).mouseenter(function(){
				if($(this).find(".utilTipsText").length>0){
			   		layer.tips($(this).find(".utilTipsText").html(), this, {time: 0});
				}
			}).mouseleave(function(){
				layer.closeAll('tips'); //关闭所有的tips层    
			});
		}
	});
	
	/**初始化
	*class说明 [utilInteger:只能输入整数,utilReset:重置表单包括原有数据,
	*utilSubmit utilSubmitBtn:回车执行按钮单击事件, utilTips utilTipsText:鼠标移上移除显示关闭tips]
	*/
	$(function() {
		// 只能输入整数
		$(".utilInteger").utilOnlyInteger();

		// 回车执行按钮单击
		$(".utilSubmit").utilSubmit(".utilSubmitBtn");
		
		// 重置表单
		$(".utilReset").utilReset();
		
		//显示tips
		$(".utilTips").utilTips();
	});
	
}(jQuery));
